home *** CD-ROM | disk | FTP | other *** search
- 06601030305800
- F0110030
- 9[...................................................]001
- Ç************************************************************************
- * *
- * DigiTape Effect Module Construction Kit *
- * --------------------------------------- *
- * *
- * How to build loadable Modules for *
- * DigiTape Release 2.0 *
- * 7. Juli 1993 *
- * *
- ************************************************************************
-
- DigiTape unterstützt ab der Version 1.03 freie Effektmodule.
-
- Das heißt, daß jeder, der sich zu einem bißchen C- und
- etwas mehr DSP-Assembler-Programmierung in der Lage sieht,
- nachladbare Module mit Klageffekten erstellen kann, die in
- DigiTape eingebunden werden.
-
- Wir stellen anbeiEntwicklerinformationen über das Softwareinterface
- und die Verbindung zu DigiTape zur Verfügung.
-
- Weitere Informationen, die benötigt werden, finden sich im
- Motorola Entwicklerhandbuch zum DSP 56k sowie im Falcon
- Entwicklerkit von Atari, das Sie bei Atari Computer GmbH in
- Schwalbach bestellen können.
-
- Beachten Sie bitte die Artikelserie "DSP-Programierung" in der
- ST Comuter, Heim Verlag.
-
- Weiterhin möchten wir auf eine Artikelserie mit dem Titel
- "Klangwunder" in der Zeitschrift c't verweisen, die auf
- Soundprogrammierung für den DSP 56k / Falcon 030
- gezielt eingeht:
-
- "Klangwunder" in c't Heise Verlag, Heft 9/93 S. 226ff
- Heft 10/93 S. 212ff
- Heft 11/93 S. 260ff
-
-
- External Digitape modules contain DSP56000 code, GEM Recources and the
- user-interface code in one file. The modules are loadable from within the
- Digitape desktop and can be handled like interanal ones. If an external
- module is used together with a recording, it is automatically loaded
- next time the recording tape is opened.
-
- As an Example we supply a complete module wich implements a reverb effect:
-
- Sourcefiles:
- -------------
- resource: HALL.RSC
- HALL.H
- HALL.DFN
-
- DSP assembler: HALL.ASM
- Ç
- User interface:HALL.C
- DT_DEFIN.H
- DT_LOCAL.H
-
- projectfiles: HALL.PRJ
- MAKEFILE
-
- Tools:
- ------
- You need: C Programming Environment
- Resource Construction Set
- DSP56000 Assembler
- (a Make Programm, not nessesary but simplifies the calls
- the other tools)
-
- We supply: CLN_TO_D.TTP builds a C source file out of a DSP
- assembler object file.
- HALL.CLN becomes HALL.D and HALL.DH.
-
- RSC_TO_C.TTP GEM resource to C converter.
- HALL.RSC becomes HALL.R
-
- Building procedure:
- -------
-
- *---------------* *----------* *----------* *-----------*
- | HALL.ASM | | HALL.RSC | | HALL.H | | HALL.C |
- | | | | | | | |
- | DSP assembler | | GEM | | resource | | C file |
- | source | | resource | | defines | | interface |
- *---------------* *----------* *----------* *-----------*
- | | | |
- V V | |
- ================= ================== | |
- = ASM56000.TTP = = RSC_TO_C.TTP = | |
- = DSP assembler = = resource = --------> #include
- = = = converter = |
- ================= ================== |
- | | |
- V V |
- *---------------* *-------------* |
- | HALL.CLN | | HALL.R | |
- | | | | |
- | DSP object | | resource | |
- | | | as C source | |
- *---------------* *-------------* |
- | | |
- V | |
- =================== | |
- = CLN_TO_D.TTP = | |
- = convert tool = ----------------------> #include
- = = |
- =================== |
- Ç | | |
- V V |
- *-------------* *-------------* |
- | HALL.D | | HALL.DH | |
- | | | | |
- | DSP object | | DSP defines | |
- | as C source | | as C source | |
- *-------------* *-------------* |
- | | |
- | ----------------------------------> #include
- | |
- ---------------------------------------------------> #include
- |
- DT_DEFIN.H --------------------> #include
- |
- DT_LOCAL.H --------------------> #include
- |
- V
- =========================
- = C-Compiler & Linker =
- = Make HALL.PRJ =
- = =
- =========================
- |
- V
- *------------------*
- |*----------------*|
- || HALL.DTM ||
- || ||
- || DigiTape-Module||
- |*----------------*|
- *------------------*
-
-
-
- A few restrictions to your DSP code:
- ------------------------------------
-
- Identifiers have to be at most 7 characters long.
-
- ORG-Directives are not permitted.
-
- Calculations in Directtives are not permitted.
- Example: move X1,X:DATUM ; OK
- move X1,X:DATUM+1 ; not OK
-
- Modules should return with RTS.
-
- Access to L-Memory (X- and Y-Memory together) is not permitted.
-
- Following registers are used internally and you should absolutely
- NOT use them within your code: R3,M3,N3
-
- Registers M0-M2 and M4-M7 have to contain 0xFFFF after each module call,
- Çthat means, if you change them, set them back to $FFFF
-
- All other registers are at your disposal.
-
-
-